Singularity escape and avoidance using a virtual array rotation

ABSTRACT

Techniques for providing singularity escape and avoidance are disclosed. In one embodiment, a method for providing control moment gyroscope (CMG) attitude control singularity escape includes calculating a Jacobian A of a set of control equations, calculating a measure of closeness to a singularity, and comparing the calculated closeness to a threshold value, when the calculated closeness is less than or equal to the threshold value, recalculating the Jacobian A. Recalculating may include determining a new direction of virtual misalignment of β and γ, recalculating the Jacobian inputting the new direction of the virtual misalignment, recalculating the measure of closeness to a singularity, and comparing the measure of closeness to the threshold value. Further, the method may include calculating a gimbal rate command if the of closeness is greater than the threshold value and generating a torque from the gimbal rate command to control the attitude of a satellite.

RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No.11/735,145 to Christopher J. Heiberg filed Apr. 13, 2007, the entiredisclosure of which is incorporated herein by reference.

FIELD OF THE INVENTION

The invention relates to methods and systems for control momentgyroscopes (CMG) and more specifically to singularity escape andavoidance in CMG applications.

BACKGROUND OF THE INVENTION

A control moment gyroscope (CMG) maintains and adjusts the attitude of asatellite. A CMG usually consists of a spinning rotor and multiplemotorized gimbals that tilt the rotor's angular momentum. When the rotoris displaced about a gimbal axis, the angular momentum changes andcauses a gyroscopic torque that rotates the satellite.

Three or more CMGs are necessary for linear control of satelliteattitude in three degrees of freedom. Two CMGs can be utilized as ascissor pair to provide control in a plane and, when utilized withanother independent actuator(s), can steer a satellite in three axes.Regardless of the number of CMGs, gimbal motion may lead to relativeorientations called singularities that produce no usable output torquealong certain directions. When a satellite experiences a singularity,the satellite may lose control and stray from the objective orientationpath.

A first class of singularity escape and avoidance methods tends toutilize an external actuator that is not part of the CMG array. Theadditional actuator augments the CMG array by adding more degrees offreedom and therefore singularities are avoided, or can be escaped.These methods tend to perform slowly and create other problems such asmission planning in the presence of an uncertain momentum envelope. Asecond class of singularity escape and avoidance methods usesmathematical augmentation or manipulation of the CMG array control law.These methods have drawbacks including having computationally intensivealgorithms, not being deterministic, and creating torque disturbance.

Therefore, there exists a need for improved methods and systems forsingularity escape and avoidance.

SUMMARY

Embodiments of methods and systems for providing singularity escape andavoidance and utilization of the momentum envelope beyond a singularityusing a virtual array rotation are disclosed. Embodiments of methods andsystems in accordance with the present disclosure may advantageouslyimprove operation and reliability of structures equipped with CMGs forattitude control.

In one embodiment, a method for providing control moment gyroscope (CMG)attitude control singularity escape includes calculating a Jacobian A ofa set of control equations, calculating a measure of closeness to asingularity, and comparing the calculated closeness to a thresholdvalue, when the calculated closeness is less than or equal to thethreshold value, recalculating the Jacobian A. Recalculating may includedetermining a new direction of virtual misalignment of β and γ,recalculating the Jacobian inputting the new direction of the virtualmisalignment, recalculating the measure of closeness to a singularity,and comparing the measure of closeness to the threshold value. Further,the method may include calculating a gimbal rate command if the ofcloseness is greater than the threshold value and generating a torquefrom the gimbal rate command to control the attitude of a satellite.

In another embodiment, a system for controlling the attitude of asatellite includes a plurality of control moment gyroscopes (CMG) in anarray, and a controller for controlling the array of CMGs and providingsingularity escape. The controller may further include a Jacobiancalculation module to calculate a Jacobian matrix of a set of controlequations, a determinant Jacobian module utilizing the Jacobian toproduce a Jacobian determinant value that is a measure of closeness to asingularity, a comparison module for comparing the Jacobian determinantvalue to a threshold value, when the calculated determinant value isless than or equal to the threshold value, recalculating the Jacobian,when the calculate determinant value is greater than the thresholdvalue, calculating a gimbal rate command, and a control module fortransmitting the gimbal rate command to the plurality control momentgyroscopes to control the attitude of the satellite.

The features, functions, and advantages can be achieved independently invarious embodiments of the present inventions or may be combined in yetother embodiments.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are described in detail below withreference to the following drawings.

FIG. 1 is a block diagram of a control to rotate a satellite in responseto a commanded rotation signal in accordance with an embodiment of theinvention;

FIG. 2 is a schematic of a satellite with CMGs for changing thesatellite attitude in response to angular rate signals in accordancewith another embodiment of the invention; and

FIG. 3 is a schematic of a satellite path for reorientation of asatellite in accordance with yet another embodiment of the invention.

DETAILED DESCRIPTION

Methods and systems for providing singularity escape and avoidance andthe utilization of the momentum envelope beyond a singularity using avirtual array rotation are described herein. Many specific details ofcertain embodiments of the invention are set forth in the followingdescription and in FIGS. 1 through 3 to provide a thorough understandingof such embodiments. One skilled in the art, however, will understandthat the present invention may have additional embodiments, or that thepresent invention may be practiced without several of the detailsdescribed in the following description.

Embodiments of methods and systems in accordance with the presentdisclosure may advantageously provide a unique solution to thesingularity avoidance/escape problem inherent in CMG applications. Thesolution includes producing a ‘virtual’ displacement of the CMG geometrysuch that the generated Jacobian (A) remains a non-singularity when usedin an inverse or pseudo-inverse control law. To accomplish singularityavoidance, the CMG array is rotated to avoid the singularity. Morespecifically, the mathematics that describe the CMG array are rotated ina virtual space to find a mathematical solution that is not asingularity, yet generates torque in the approximate direction ascommanded.

Introduction to CMG Systems and Methods:

To formulate an understanding of the teachings of the presentdisclosure, we begin with the underlying mathematical formulationsinvolved in control moment gyroscope (CMG) systems and methods. Avariation of the Robust Pseudo-Inverse (RPI) presented in U.S. Pat. No.6,917,862 was presented by Wie, U.S. Pat. No. 6,917,862, for a uniquecase of a scissor-pair CMG arrangement originally proposed by Crenshaw(Crenshaw, “2—Speed, A Single-Gimbal Control Moment Gyro AttitudeControl System”, AIAA-73-895, Presented at the AIAA Guidance and ControlConference, Key Biscayne, Fla., Aug. 20-22, 1973). This particularimplementation utilizes common parameters α and β, where α is the angleabout which the CMGs scissor and β is the half scissor angle between thetwo momentum vectors. In this implementation the Jacobian A is expressedin Equation 1 below.

$\begin{matrix}{A = {2\begin{bmatrix}{{- \sin}\; \alpha \; \cos \; \beta} & {{- \cos}\; \alpha \; \sin \; \beta} \\{\cos \; \alpha \; \cos \; \beta} & {{- \sin}\; \alpha \; \sin \; \beta}\end{bmatrix}}} & {{Eq}.\mspace{14mu} 1}\end{matrix}$

By inspection, if both α and β are zero (on a saturation singularity),the Jacobian A cannot be inverted and there is no solution to theequation. A time-varying RPI method generates a solution, but theresulting command is only directed to α. The pair α and β move inunison, and until perturbed, will remain on the saturation singularity.Wie's solution makes the W vector in the RPI method additionally timevarying similar to what was proposed in Heiberg, U.S. Pat. No.6,241,194.

When an implementation uses an array control approach utilizing twoindependent CMGs instead of a scissor-pair (i.e., do not use dependantparameters), the previously discussed time-varying RPI methods exhibitthe same saturation singularity behavior. For example, given the arraydesign approach by Heiberg and using β=[0 0] (i.e., both CMG momentumvectors lie in a plane) and γ=[0 π], then Equation 2 depicts theJacobian A as follows:

$\begin{matrix}{A = \begin{bmatrix}0 & 0 \\1 & 1 \\0 & 0\end{bmatrix}} & {{Eq}.\mspace{14mu} 2}\end{matrix}$

In the example provided by Wie, the torque command using the RPI methodis expressed by Equation 3.

$\begin{matrix}\begin{matrix}{\overset{.}{x} = {A^{\#}\begin{bmatrix}{- 1} \\0 \\0\end{bmatrix}}} \\{= {\begin{bmatrix}{- 0.0005} & 0.4762 & 0.0005 \\{- 0.0005} & 0.4762 & 0.0005\end{bmatrix}\begin{bmatrix}{- 1} \\0 \\0\end{bmatrix}}} \\{= \begin{bmatrix}0.0053 \\0.0053\end{bmatrix}}\end{matrix} & {{Eq}.\mspace{14mu} 3}\end{matrix}$

The CMGs produce the same basic result whereas both CMGs are commandedin unison. However, the slightest misalignment of the gimbal axes, β=[01.0°], γ=[0 π], as described in this disclosure advantageously cause thetwo CMG gimbal axes to have a distinct mapping while remainingsubstantially parallel. This creates a torque in the commandeddirection, thereby allowing a satellite to safely exit the saturationsingularity without any unnecessary or additional computations asexpressed in Equation 4.

$\begin{matrix}\begin{matrix}{\overset{.}{x} = {A^{\#}\begin{bmatrix}{- 1} \\0 \\0\end{bmatrix}}} \\{= {\begin{bmatrix}{- 0.0136} & 0.4770 & 0.0891 \\{- 0.0039} & 0.4754 & 0.0869\end{bmatrix}\begin{bmatrix}{- 1} \\0 \\0\end{bmatrix}}} \\{= \begin{bmatrix}0.0136 \\{- 0.0039}\end{bmatrix}}\end{matrix} & {{Eq}.\mspace{14mu} 4}\end{matrix}$

The foregoing shows that by virtually altering the input geometry of oneof the CMGs in the array by only one degree, the saturation singularityis escaped. This advantage is not achieved when utilizing the RPImethod.

PROBLEM TO BE SOLVED

This invention includes a process that avoids and escapes singularitiesin CMG arrays and allows the utilization of momentum from the CMGsbeyond the singularity. The singularities are characterized by a drop inrank of a matrix. The singularities in a CMG control are not necessarilya physical realization of the array, but a computational problemanalogous to a divide-by-zero problem in software code. Essentially aninversion of a matrix or equivalent is typically necessary in thecontrol law, and may not always provide a solution due to zeroEigen-values (i.e., a drop in rank of that matrix). In order to properlydiscuss this problem, the following section describes the problem to besolved.

The control torque {dot over (h)} (where h is the angular momentum) froma CMG array is given by the following equation,

{dot over (h)}=AS{dot over (δ)}  Eq. 5

where {dot over (δ)} is the CMG gimbal rate, A is the CMG Jacobian whichis a function of the individual gimbal angles δ_(i) as follows:

$\begin{matrix}{A = {\frac{\partial h}{\partial\delta} \equiv \lbrack \frac{\partial h_{i}}{\partial\delta_{i}} \rbrack \equiv \lbrack {\frac{\partial h_{1}}{\partial\delta_{1}},\frac{\partial h_{2}}{\partial\delta_{2}},\ldots \mspace{11mu},\frac{\partial h_{n}}{\partial\delta_{n}}} \rbrack}} & {{Eq}.\mspace{14mu} 6}\end{matrix}$

where h_(i) is the momentum vector for the i-th of n CMGs and δ_(i) isthe gimbal angle of the i-th CMG. The problem typically includes a3-axis control, thus h_(i) is 3-dimensional and A is a 3×n matrix. Thetwo terms, β and γ, are used in the calculation of the Jacobian asfollows: the total CMG angular momentum vector h is obtained by firstdefining a set of unit normal vectors representing the gimbal axes withthe gimbal angles set to zero as

$\begin{matrix}{{N( {:{,i}} )} = \begin{bmatrix}{{\sin ( \beta_{i} )}{\sin ( \gamma_{i} )}} \\{{- {\sin ( \beta_{i} )}}{\cos ( \gamma_{i} )}} \\{{eos}( {- \beta_{i}} )}\end{bmatrix}} & {{Eq}.\mspace{14mu} 7}\end{matrix}$

Where i=(1, . . . , n) CMGs. In addition, a corresponding matrixrepresenting the reference gimbal angles is defined as in Equation 8.

$\begin{matrix}{{{Ref}( {:{,i}} )} = \begin{bmatrix}{\cos ( \gamma_{i} )} \\{\sin ( \gamma_{i} )} \\0\end{bmatrix}} & {{Eq}.\mspace{14mu} 8}\end{matrix}$

It should be noted that the selection of the sign convention andreference coordinates is deliberate because the configuration of anarray can be specified by only two parameters, β and γ. This approachyields N, Ref, and subsequent Quad matrices that can be verifiedintuitively for accuracy and require fewer overall calculations insimulation. The column-wise cross product of the N and Ref matricesyields the instantaneous momentum vector direction cosines for the fourCMGs, which defines the Quad directions in Equation 9.

Quad=cross(N,Ref)  Eq. 9

The CMG momentum vectors h, may be calculated by a simple loop insoftware code as follows:

for i=1:4

h(i)=(sin(δ_(i))*Quad(:,i)+cos(δ_(i))*Ref(:,i)*h ₀;

end.

The total CMG array momentum vector, h, is calculated by Equation 10.

$\begin{matrix}{h = {\sum\limits_{i = 1}^{n}h_{i}}} & {{Eq}.\mspace{14mu} 10}\end{matrix}$

Singular value decomposition of the m×n Jacobian yields insight into thebehavior of the singularity problem. The Jacobian can be represented as

A=UΣV^(T)  Eq. 11

where U is the 3×3 orthonormal modal matrix of AA^(T), often called theleft singular vectors, V is the m×n orthonormal modal matrix of A^(T)A,called the right singular vectors and E is a 3×n diagonal matrix. Givena 3-DOF control and 4 CMGs (n=4), A is 3×4 and

$\begin{matrix}{\Sigma = \begin{bmatrix}\sigma_{1} & 0 & 0 & 0 \\0 & \sigma_{2} & 0 & 0 \\0 & 0 & \sigma_{3} & 0\end{bmatrix}} & {{Eq}.\mspace{14mu} 12}\end{matrix}$

where σ_(i) are the singular values in descending order. Note that forn>m there are n-m zero columns in the Σ matrix. Several properties existfor this decomposition, including the property of the singular values ofA are the real, positive square roots of the Eigen values of AA^(T) (andof A^(T)A). This may be utilized in a measure of closeness to asingularity.

A singularity is realized when trying to determine the CMG gimbal ratecommands by an inversion technique. Typically, some form ofMoore-Penrose pseudo-inverse or least squares method is employed, e.g.,

{dot over (δ)}_(c) =A ^(T)(AA ^(T))⁻¹ {dot over (h)} _(c)  Eq. 13

where {dot over (h)}_(c) is the commanded control torque and {dot over(δ)}_(c) is the gimbal rate command to the CMGs. When the pseudo-inverseis represented as:

A ⁺ =A ^(T)(AA ^(T))⁻¹  Eq. 14

then the singular value decomposition follows:

A⁺=VΣ⁺U^(T)  Eq. 15

thus the singular values take on the form (m=3, n=4) of Equation 16.

$\begin{matrix}{\Sigma^{+} = \begin{bmatrix}\frac{1}{\sigma_{1}} & 0 & 0 \\0 & \frac{1}{\sigma_{2}} & 0 \\0 & 0 & \frac{1}{\sigma_{3}} \\0 & 0 & 0\end{bmatrix}} & {{Eq}.\mspace{14mu} 16}\end{matrix}$

The mapping of the singular values to gimbal rate command follows inEquation 17.

{dot over (δ)}_(c)=A⁺{dot over (h)}_(c)=VΣ⁺U^(T){dot over (h)}_(c)  Eq.17

When any of the singular values σ_(i) go to zero, the processor isunable to determine a solution (i.e., a divide-by-zero occurs andinfinite gimbal rates are commanded) and thus no valid command iscreated. Therefore, the satellite may be left uncontrolled until anothervalid command can be processed by it. Because the satellite tends tohave a natural roll-off due to limitations of its control, the gimbaloscillates at its maximum bandwidth until enough gimbal drift hasoccurred to end the infinite gimbal rates resulting form thesingularities. However, because the noise is often not very biased, thegimbal is naturally driven back into a singular state so only a detailedexamination of the command history indicates the amount of time that thesystem is truly singular. The net result though is a complete loss ofcontrol to the satellite and thus safety measures must take over.

Exemplary Embodiment

FIG. 1 illustrates a block diagram 100 of a control to rotate aspacecraft (e.g., satellite or robot) in response to commanded rotationsignal q_(c) in accordance with an embodiment of the invention. It willbe appreciated that FIG. 1 shows blocks that may be implemented throughhardware or software, such as in a computer based satellite controlcontaining one or more signal processors programmed to produce outputsignals to control CMGs on the spacecraft.

At a junction 102, a desired attitude q_(c) 104 of the spacecraft iscompared with an actual attitude q_(a) 106 of the spacecraft. Theattitude error q_(c) 108 from the junction 102 is sent to an attitudecontroller 110 to produce a desired acceleration {dot over (ω)}_(c) 112of the spacecraft. The desired acceleration 112 is multiplied by aninertia matrix J 114 to produce a torque command {dot over (h)}_(c) 116.The inertia matrix 114 is expressed in Equation 18.

{dot over (h)}_(c)=J_(s){dot over (ω)}_(c)  Eq. 18

The torque command 116 is send to a gimbal rate command 118 along withan acceptable Jacobian A 120 from a routine 122 to calculate a CMGgimbal angle rate commands {dot over (δ)}_(c) 124. A CMG array 126utilizes the CMG gimbal angle rate commands 124 to calculate gimbalangles δ 128. The gimbal angles 128 are then utilized at a Jacobiancalculation 130, initially utilizing the values of β_(o) and γ_(o), tocalculate a Jacobian A 132. The Jacobian A 132 is sent to a decisionblock 134 to determine if the threshold is surpassed. If the thresholdis surpassed (i.e., the determinant of AA^(T) is less than or equal tothe threshold) at the decision block 134, a singularity may beencountered or is imminent, and thus the process moves along the ‘yes’route to a block 136 to determine an acceptable direction to displace βand/or γ in order to affect the Jacobian A. The new values of β and/or γ138 are sent to the Jacobian calculation 130 to provide singularityavoidance. At the decision block 134, the Jacobian A 132 is againevaluated against the threshold value. If necessary, the routine 122 isrepeated to calculate a Jacobian 132 that exceeds the threshold whenevaluated at the decision block 132. If the threshold is exceeded, a‘no’ route advances to send the acceptable Jacobian A 120 to the gimbalrate command 118.

In embodiments, the values of β and/or γ 138 may be determined by adesigner (e.g., engineer) among a range of acceptable values. Further,stochastic displacements may be used to generate values for β and/or γ138. Therefore, an array displaced in a non-optimal direction will notbe problematic to the disclosure as provided herein. Values of β and/orγ 138 may only need to make the calculation non-singular. In furtherembodiments, a designer may attempt to minimize the displacement andselect a direction that would avoid encountering another singularitywith each successive threshold evaluation.

Returning to the CMG array 126, the gimbal angle rate commands 124operate the CMG array 126 which produce a torque {dot over (h)} 140. Thetorque 140 acts on the spacecraft 142 to change its rate of rotation144. The actual rate of rotation 144 of the spacecraft 142 is measuredby sensors 146 which are used to determine the actual attitude 106 ofthe spacecraft 142.

FIG. 2 shows three CMGs (e.g., n=3) in environment 200. Each CMG 202,204, 206 includes a rotor 208 configured within a rotor support 210. Thefirst CMG 202 includes a gimbal axis {dot over (δ)}₁ 212. The CMGs 202,204, 206 also include a representation of the torque axis 214 that isalways orthogonal to a rotor spin axis 216. The rotor spin axis 216 alsorepresents the stored angular momentum of the CMG that, when rotated,generates a torque that lies in the direction axis 214. An electroniccontroller 218 is configured with each CMG 202, 204, 206. In otherembodiments, support system of the CMG may be contained withinsuccessive gimbals similar to 212, all of which can be commanded similarto {dot over (δ)}₁.

In operation of the CMGs in environment 200, the attitude is determinedat block 220. Next, an attitude control is calculated at block 222 usingthe attitude from the block 220. The attitude control from the block 222is used to calculate a CMG control at a block 224 to control theorientation or manage the vibration of the satellite.

FIG. 3 illustrates a control scheme 300 (as shown in FIG. 1) to pan orrotate a satellite 302 on its axis from a line of sight view of a firstobject 304 to a line of sight view of a second object 306. A typicalfully closed loop control follows an Eigen axis path 308 (e.g., thedesired path) by controlling the CMG's based on the actual attitude 310.Although the process is shown for a single signal path between twopoints, but it should be understood that single lines represent vectordata which is three dimensional for the satellite attitude, attituderate and torques, and it dimensional for the signals related to the nCMGs.

Generally, any of the functions described herein can be implementedusing software, firmware (e.g., fixed logic circuitry), hardware, manualprocessing, or any combination of these implementations. The terms“module,” “functionality,” and “logic” generally represent software,firmware, hardware, or any combination thereof. In the case of asoftware implementation, the module, functionality, or logic representsprogram code that performs specified tasks when executed on processor(s)(e.g., any of microprocessors, controllers, and the like). The programcode can be stored in one or more computer readable memory devices.Further, the features and aspects described herein areplatform-independent such that the techniques may be implemented on avariety of commercial computing platforms having a variety ofprocessors.

Methods and systems for providing singularity escape and avoidance andutilization of the momentum envelope beyond a singularity using avirtual array rotation in accordance with the teachings of the presentdisclosure may be described in the general context of computerexecutable instructions. Generally, computer executable instructions caninclude routines, programs, objects, components, data structures,procedures, modules, functions, and the like that perform particularfunctions or implement particular abstract data types. The methods mayalso be practiced in a distributed computing environment where functionsare performed by remote processing devices that are linked through acommunications network. In a distributed computing environment, computerexecutable instructions may be located in both local and remote computerstorage media, including memory storage devices.

CONCLUSION

Although the invention has been explained in the context of aspacecraft, it can be used in any system which can encountersingularities, such as satellite systems, robotic systems, or any otherCMG-based or multi-actuator systems susceptible to singularities. Whilepreferred and alternate embodiments of the invention have beenillustrated and described, as noted above, many changes can be madewithout departing from the spirit and scope of the invention.Accordingly, the scope of the invention is not limited by the disclosureof these preferred and alternate embodiments. Instead, the inventionshould be determined entirely by reference to the claims that follow.

1. A system for controlling the attitude of a satellite, comprising aplurality of control moment gyroscopes (CMG) in an array; a controllerfor controlling the array of CMGs and providing singularity escape, thecontroller further including: a Jacobian calculation module to calculatea Jacobian value of a set of CMG control equations; a determinantJacobian Module utilizing the Jacobian matrix to produce a JacobianDeterminant value that is a measure of closeness to a singularity; acomparison module for comparing the Jacobian Determinant value to athreshold value, when the calculated determinant value is less than orequal to the threshold value, recalculating the Jacobian, when thecalculated determinant value is greater than the threshold value,calculating a gimbal rate command; and a control module for transmittingthe gimbal rate command to the plurality control moment gyroscopes tocontrol the attitude of the satellite.
 2. The system of claim 2, whereinthe plurality of CMGs includes at least three CMGs.
 3. The system ofclaim 2, wherein the Jacobian determinant value is the absolute value ofthe product of the Jacobian and the transverse of the Jacobian.
 4. Thesystem of claim 2, wherein the Jacobian is calculated with a virtualmisalignment of inputs β and γ, wherein the virtual misalignment isupdated for each iteration of the Jacobian calculation module.
 5. Thesystem of claim 4, wherein the determined new direction of the virtualmisalignment is less than or equal to one degree for β and γ.
 6. Thesystem of claim 1, wherein a momentum envelope extends beyond thesingularity.
 7. The system of claim 1, further characterized in that:the gimbal rate command is {dot over (δ)}_(c)=A^(T) (AA^(T))⁻¹{dot over(h)}_(c), where A is the Jacobian value and {dot over (h)}_(c) is atorque command.